Ubuntu 20 编译安装 MTProxy
安装依赖软件
下载安装
libssl
及libssl-dev
:cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0-dev_1.0.2n-1ubuntu5_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5_amd64.deb
dpkg -i libssl1.0*Ubuntu 20 默认的
libssl
及libssl-dev
为1.1
版本,不符合MTProxy
的依赖要求,所以不能使用apt
命令直接安装,否则编译会报错,提示找不到库文件。安装其它信赖:
apt install git curl build-essential zlib1g-dev
下载 MTProxy
进行编译
下载
MTProxy
源码:git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy编译
MTProxy
:make
编译好的可执行文件在当前的
objs/bin
目录下
创建程序目录并获取相关密钥及配置文件
创建
MTProxy
目录,并复制编译完成的程序到该目录下:mkdir /usr/local/mtproxy
cd /usr/local/mtproxy
cp /tmp/MTProxy/objs/bin/mtproto-proxy /usr/local/mtproxy获取用于链接
Telegram
服务器的密钥:curl -s https://core.telegram.org/getProxySecret -o proxy-secret
获取相关的
Telegram
配置:curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
生成用于链接代理的密钥
生成普通密钥:
head -c 16 /dev/urandom | xxd -ps
生成使用FAKE-TLS连接的密钥:
python3 -c 'print ("ee"+"$secret"+"sohu.com".encode().hex())'
$secret
为上一步生成的普通密钥; 此步骤生成的密钥为最终填入代理客户端的密钥。
创建服务脚本并配置开机启动
创建服务脚本(注意替换相关变量的值):
cat > /etc/systemd/system/mtproxy.service <<EOF
[Unit]
Description=MTProxy
After=network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/mtproxy/
ExecStart=/usr/local/mtproxy/mtproto-proxy -p 3232 -H 8787 --aes-pwd /usr/local/mtproxy/proxy-secret /usr/local/mtproxy/proxy-multi.conf -u nobody --allow-skip-dh --nat-info "10.0.xx.xx:13.67.xx.xx" -S "$secret" -D www.f6s.com
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF$secret
为生成的普通密钥;
-H
为MTProxy
服务的监听端口;加载服务脚本并设置开机启动:
systemctl daemon-reload
systemctl start mtproxy
systemctl enable mtproxy